﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AplicacionMercado.AccesoADatos;
using System.Data;

namespace AplicacionMercado.LogicaDeNegocios
{
    class ControladorProducto
    {

        public static Producto GetProductoById(int id)
        {
            MercadoEntities2 contexto = new MercadoEntities2();
            return contexto.Producto.SingleOrDefault(p => p.idProducto == id);
        }
        public static Categoria GetCategoriaById(int id)
        {
            MercadoEntities2 contexto = new MercadoEntities2();
            return contexto.Categoria.SingleOrDefault(c => c.idCategoria == id);
        }

        public static bool ModificarProducto(int id, string nombre, int idCat, string nomCat)
        {
            bool resultado = false;
            MercadoEntities2 contexto = new MercadoEntities2();
            Producto produ = contexto.Producto.SingleOrDefault(u => u.idProducto == id);
            if (produ != null)
            {
                produ.nombreProducto = nombre;
                produ.Categoria.idCategoria = idCat;
                contexto.Entry(produ).State = EntityState.Modified;
            }
            else
            {
                produ = new Producto()
                {
                    idProducto = id,
                    nombreProducto = nombre,
                    idCategoria = idCat,
                };
                contexto.Producto.Add(produ);
            }
            try
            {
                contexto.SaveChanges();
                resultado = true;
            }
            catch (Exception e)
            {
                resultado = false;
            }
            return resultado;
        }
    }
}
